﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace Work1
{
//    1.在D盘创建名为"Demo" 的文件夹，并添加两个子文件夹：TEST1 和 TEST2
//2.在TEST2中创建test2.txt文件并复制到TEST1.test1中
//3.使用流在test1写入StreamWriter写入数据： 道阻且难，行则将至。
//4.使用流在test2写入StreamWriter写入数据： 不忘初心，方得始终。
//5.在控制台输出这两句话。
    internal class Program
    {
        static void Main(string[] args)
        {
            //创建文件夹
            DirectoryInfo Demo = Directory.CreateDirectory("d:/Demo");
            Demo.Create();
            DirectoryInfo TEST1 = Directory.CreateDirectory("d:/Demo/TEST1");
            TEST1.Create();
            DirectoryInfo TEST2 = Directory.CreateDirectory("d:/Demo/TEST2");
            TEST2.Create();

            //创建文件
            FileInfo file = new FileInfo(TEST2.FullName + "/test2.txt");
            //File.Create(file.FullName).Close();    

            //复制文件的两个方法
            //file.CopyTo(TEST1.FullName + "/test1.txt");
            //（源，目的） 
            File.Copy(TEST2.FullName + "/test2.txt", TEST1.FullName + "/test1.txt",true);

            //读取文件里面的内容
            //File.ReadAllText是返回一串字符串，只需要一个string接收就可以了
            //File.ReadAllLine是返回一个个字符串，需要集合或者数组接收

            //写入文件信息
            //File.WriteAllText 要注意它会直接覆盖之前的信息

            FileStream Test1Stream = new FileStream(TEST1.FullName + "/test1.txt", FileMode.Append, FileAccess.Write);
            StreamWriter Test1Write = new StreamWriter(Test1Stream);
            Test1Write.WriteLine("道阻且难，行则将至");
            Test1Write.Flush();
            Test1Write.Close();
            
            FileStream Test2Stream = new FileStream(TEST2.FullName + "/test2.txt", FileMode.Append, FileAccess.Write);
            StreamWriter Test2Write = new StreamWriter(Test2Stream);
            Test2Write.WriteLine("不忘初心，方得始终");
            Test2Write.Flush();
            Test2Write.Close();

            
            

            Console.WriteLine("Test1");
            Test1Stream = File.OpenRead(TEST1.FullName + "/test1.txt");
            //创建输入流对象，读取文件数据
            StreamReader Test1Reader = new StreamReader(Test1Stream);
            ////ReadToEnd将文件内容读入缓冲区，返回字符串对象
            string Test1Result = Test1Reader.ReadToEnd();
            Console.WriteLine(Test1Result);

            Console.WriteLine("Test2");
            Test2Stream = File.OpenRead(TEST2.FullName + "/test2.txt");
            //创建输入流对象，读取文件数据
            StreamReader Test2Reader = new StreamReader(Test2Stream);
            ////ReadToEnd将文件内容读入缓冲区，返回字符串对象
            string Test2Result = Test2Reader.ReadToEnd();
            Console.WriteLine(Test2Result);
            Console.ReadKey();
        }
    }
}
